Бред несёте, ребята. Шкала выбора - это зелёный круг вокруг объекта, а также ширину полоски HP Физический размер - отвечает за его реальный размер, там есть минимальные значения, так как минимальный объект проходимости на 4х4 вроде, в том числе отвечает за дистанцию атаки по герою Контрольный радиус (Наводка) - тут пока не могу точно сказать
Если хочешь узнать что такое альфаканал поможет репетитор (Гугл), прозрачность и альфа-канал одно и тоже(почти), не умеешь попроси чтобы помогли сделать.
A.W.K., значит не с BLP Lab проблема а с твоим импортом или экспортом.
О, я попробовал использовать ту текстуру которую ты мне дал, сохранив её в blp. Всё получилось
Чёрт. Кажется я узнал в чём проблема
Я убирал текстуру земли на "нижний" слой, только сейчас вспомнил что нельзя ставить слой ниже слоя почвы. Спасибо что помогал мне :-)
bladget, скорее всего (если у тебя Vista или W7 стоит), в старой папки остались "файлы совместимости", которые не удаляются просто так. В WoO много всякого мусора было...
Это довольно-таки старый баг редактора, связанный с картами кампании. Редактирование тех полей, которые не должны быть у способности, ничего не дает, и это крайне неудобно. Чтобы такого не было, лучше создавать способности именно в кампании, а не в картах кампании.
Ага, и тогда твои абилки можно будет абузить дропом предмета и подбором, делается это не удалением и заменой, а техникой
А вообще, сейчас можно динамично менять параметры способности, вплоть до иконки, далее думаю понятно, получил предмет, заменил изменил параметры, выбросил предмет, вернул старое
Не могу поставить отрицательное значение. "Графика - положение кнопки", я правильно понял?
Надо шифт зажать и кликнуть по строчке координат в ро абилы, тогда можете задать отрицательные (тогда не нужно лезь mpq-архив для топорика работает).
А если панельные комманды интерфейса (move, patrol, stop, attack или др) - это не будет так работать, им не задашь в ро. либо удалить коммандные способность (некоторые удаления могут привести к необратимым последствиям, или крит) или это текстовик надо для комманд (это вариант). текстовик также можно и абилки прятать, но есть в этом необходимость, если можно задать в ро? не все комманды интерфейса нужно прятать посредством текстовика, например кнопка "строительство" имеет абилку с иконкой
Изменяем CommandStrings.txt Редактирование приказов ссылка пример в комментахможно также задать координаты (-2147483648,-2147483648) - эти координаты не всегда работают (пример не мог спрятать кнопку строительства и move). лучше (0,-11)
Описание кнопок и горячие клавиши (hot keys) находятся в Units/CommandStrings.txt
Изменить также можно в "дополнительно"->"игровой интерфейс"
По детекту урона, без мемхака - просто по урону от юнита, при этом создавать триггер детекта при замахе из инвиза, но такое себе.
Так же с помощью мемхака, там изи, т.к у виндвалка есть свой флаг, на который можно проверить отслеживая урон.
основы потом могут быть за разную плату превращены в разные здания
Так и делай превращение, а не постройку здания "основой". Улучшай основу в выбранное здание - как башня Альянса улучшается до сторожевой, орудийной или магической.
можно. но смотря что вы хотите сделать (у вас триггер какой-то непонятный).
тут просто ресурсо-затратно вам показывать.
последовательность приказов никак нельзя задать как через shift, это не отслеживается в 1.26. но можно по-другому сделать. это если хотите сделать компьютерного бота
есть проблемы: надо проверять
есть ли ресурсы на здание
занят ли участок, чтобы туда отдавать приказ тематема2раздел 3.3
пройденное расстояние. пока юнит туда добежит, вы можете дать новый приказ. таймер или вэйты вам ничего не дают. надо подождать пока выполнит текущий приказ.
когда завершает строительство ищем новый участок, и даем приказ.
мб отслеживать приказы, какие приказы будут у работника по 100% хп здания?
Или дамиком построить здание, и отказатся строить, у всех игроков - работники альянса (иначе это не пашет) при ремонте здания союзника, если больше никтот не чинит, здание делать за того кто чинит, если бросил чинить (работник отдал любой другой приказ или умер) вернуть в нейтрала, ну и так далее.
всегда по ссылке для handle-типов, всегда по значению для остальных
изменить это невозможно
никак, использовать глобалку, куда сохранять локалку перед нулением
нет, нету
ну или аналоги всего этого есть в продвинутых редакторах, не знаю, пусть те, кто ими пользуются, скажут
zontik2012 нет, не является утечкой. Если бы ты крепил эффект к точке, к примеру в позиции юнита, причем не удалял бы эту точку потом - то это была бы утечка
То, что хочет автор, называется "дизайн-документ". Моя практика показала, что лучше всего использовать документы в гуглдокс (для некоторых вещей гуглтаблицы) с перекрёстными ссылками.
Также советую почитать статью и приложенный к ней дизайн-документ от разработчиков Dirty Bomb для вдохновения.
Я тоже не понимаю, что могло пойти "не так"?
Ты сам уже описал. По событию заносишь юнитов в группу. Потом нажимаешь способность "Атаковать" и юнит идут атаковать. Что может пойти "не так"?
какое отношение этот пункт имеет к проблеме?
короче покопался в wtg файле
у тебя раньше использовался какой то странный файл гуишных функций
скорее всего он лежал либо в папке с вар3, либо в папке с джнгп и потом его удалили
одна из функций (возвращает булеан) вообще была представлена как набор пробелов
узнавать что это была за функция мне было лень поэтому я её заменил на false (использовалась в условии)
это было в триггере ctart, так что поправь там условие
так же заменил IssueImmediateOrderBJ на IssueImmediateOrder
вот открываемая в редакторе карта
потому шо идей у самого тонны
Ну а вообще глянуть бы ещё что там у тебя за мапа и что за заклинания и что к чему
И какая версия варика?
Если для 1.26, то NOPE, а если выше то пиши в лс, кинь мапу и сразу распиши поподробнее что к чему, лучше в ВК
Возможно это было сделано в старой версии JPNG NG 5d, попробуйте отредактировть этой версией, и найти ту триггерную фу-ию и изменить исп. кастом скрипт, который есть по ссылке, которую предложил факов. Как поменяете, сохраните.
Потом, откройте через JPNG Rebuild, и должно сработать.
Это ошибка возникает из-за несоответствие граф. части триггеров, для GUI посредством одного текстового файлика настройки для WE.
Должно помочь.
функцию Trig_BlockA_Func005Func011Func001C() убери нафиг
как и другие функции используемые для ифов и подобной херни
а вообще про это написано во всех статьях про jass
мб стоит прочитать сразу несколько статей а затем задавать сюда вопросы?
расстояние до найденного ближайшего лучше не пересчитывать каждый раз, а хранить в переменной; еще можно обойтись без корня, а сравнивать сразу квадраты расстояний
возможно проблема в сравнении неинициализированной (например int i вместо int i = 1) переменной (unit FIRST == null)
вместо этого юзай boolean флаг или проверку на сохраненное расстояние до ближайшего, например что оно больше -1
set powers[power + offset] = count
забыл вот так стоял
если 32 бит то цикл 31 раз прибавляет ему то есть не актуально
чтобы быстрый поиск по значение и получить порядок
чтобы быстрый поиск по значение и получить порядок
например если у меня 3 бит значит будет выполнять порядок с 2 очереди до 0, или если 2 бит то очередь 2 до 0 ну суть понял?
чтобы не было целиком порядок и вычеслять количество байтов
переделал
внутри код
library xePower initializer Init
globals
/* --------------------------------------- */
private integer xe_count = 1
private integer xe_powerMax = 0
private integer array xe_powersOf2
private integer array xe_helpers
/* --------------------------------------- */
endglobals
function GetPower takes integer index returns integer
local integer offset = 1
if index < 0 then
return 0
endif
if xe_powersOf2[index] == 0 then
set xe_powersOf2[index] = xe_powersOf2[index - 1] * 2
set xe_count = xe_count + 1
loop
exitwhen offset == xe_powersOf2[index]
set xe_helpers[xe_powersOf2[index] + offset] = index
set offset = offset + 1
endloop
set xe_powerMax = xe_powersOf2[index] + offset
endif
return xe_powersOf2[index]
endfunction
function GetPowerHelper takes integer power returns integer
if power <= 0 then
return 0
endif
if power > xe_powerMax then
set power = xe_powerMax
endif
return xe_helpers[power]
endfunction
private function Init takes nothing returns nothing
set xe_powersOf2[0] = 1
set xe_helpers[1] = 1
endfunction
endlibrary
PS обновил
library xePower initializer Init
globals
/* --------------------------------------- */
private integer xe_powerMax = 0
private integer array xe_powersOf2
private integer array xe_helpers
/* --------------------------------------- */
endglobals
function GetPower takes integer index returns integer
local integer offset = 0
if index <= 0 then
return 0
endif
if xe_powersOf2[index] == 0 then
set xe_powersOf2[index] = xe_powersOf2[index - 1] * 2
loop
exitwhen offset == xe_powersOf2[index]
set xe_helpers[xe_powersOf2[index] + offset] = index
set offset = offset + 1
endloop
set xe_powerMax = xe_powersOf2[index] + offset
endif
return xe_powersOf2[index]
endfunction
function GetPowerHelper takes integer power returns integer
if power <= 0 then
return 0
endif
if power > xe_powerMax then
set power = xe_powerMax
endif
return xe_helpers[power]
endfunction
private function Init takes nothing returns nothing
set xe_powersOf2[1] = 1
set xe_helpers[1] = 1
endfunction
endlibrary
Терь можно делать подбор только важных а не целиком.
local integer index = GetPowerHelper(33)
loop
exitwhen IDs == 0 or index == 0
if IDs >= GetPower(index) then
// Выполняет правильно index (32,1) а раньше было (32,16,8 и так далее)
set IDs = IDs - GetPower(index)
set index = GetPowerHelper(IDs)
else
set index = index - 1
endif
endloop
SirDragdord, никак, последние патчи баганые, там много чего не работает, играть там не вочто, хотите поиграть - 1.26а к вашим услугам, старшие патчи вара только для ознакомления и обучения, пока не вышел рефордж там нечего делать.
Razor_dex, сконвертируй карту, потом открой в стандартном 1.26 редакторе, удали комментарий Рок Лии\Otome Renge
Для гуи-гигантов это типичная болячка, просто битый комментарий который содержит в себе информацию о нескольких действиях, считай как обычный триггер только отображается как комментарий
Возникает такое скорее всего при копировании
P.S. странно что редакторы до 1.31 не обращают внимания на такой баг
И длительность звука сократил, и не с первого кадра анимации, как и у Стрелка сделал, и поместил внутри war3x.mpq, а не просто в карту импортировал, и поместил звук в модели отдельно, как и у Стрелка, а не привязал к кости, и много чего ещё пробовал, но так и не воспроизводит звук, да. Уже удалил всё, но сейчас пришло в голову, что может быть таблицы надо было не в war3x.mpq помещать, а в war3Patch.mpq. Только это вряд ли, потому что даже при импорте в карту ничего не было.
// blizzard.j:1772
function GetRectCenter takes rect whichRect returns location
return Location(GetRectCenterX(whichRect), GetRectCenterY(whichRect))
endfunction
а эвент регистрируется 1 раз, так что можно забить
// blizzard.j:7959
function TriggerRegisterEnterRectSimple takes trigger trig, rect r returns event
local region rectRegion = CreateRegion()
call RegionAddRect(rectRegion, r)
return TriggerRegisterEnterRegion(trig, rectRegion, null)
endfunction
Другое дело, что у order есть утечка, но это нативно, она минимальная и это никак не исправляется.
Делай дамики, которые находятся каждый на своём фиксированном расстоянии и угле от цели и перемещай их триггерно периодически. Не самое приятное занятие, но самое простое, для твоего случая
Только мемхак, если вас не устраивают баффы детектов (волшебный огонь, посох чужих глаз, порошок прозрения).
Стоит отметить видимость юнита и детекция - разные опции, инвизер может быть обнаружен но не видем в тумане войны.
Ась, что кого? для 126 отслеживание выделения в группе только на мемхаке, чистый 126 лесом, на рефордже через GetChild, вот ссылка, надо скопипастить на русском на Xgm
Но если принебречь этим множественным выбором и представить что выбор единичный
Тогда на гуи всё есть и получиться
C - Юнит выбран
У - Юнит такой-то, способность такая то есть, владелец выбранного=владелец выбирающего
Д -
set s = "" s = string
if p = GetLocalPlayer() then
set s = "Тут\\Типа\\Адрес\\Модели.mdx"
endif
call СоздатьСпецэффект(s,x,y) x,y - координаты, либо вместо них точка, либо виджет
а если по поводу вопроса
Но не понимаю, как именно применить тут эту систему
Система уже расписана, суть в том что у локального игрока создастся эффект с моделью, а у остальных с пустышкой и они ничего не увидят
set s = "" s = string пустышка
if p = GetLocalPlayer() then -- если локальный игрок тогда
set s = "Тут\\Типа\\Адрес\\Модели.mdx" -- модель уже не пустышка
не нужно.
Утечка с группами происходит потому что, незаметно для пользователя GUI, создается новая группа, которая не уничтожается и не обнуляется (в случае если происходит обращение к юнитам вокруг точки или в области). Обращаясь к группам игроков ничего не создается, происходит обращение к заранее созданным группам игроков.
ххххххх
Ну дык.
Ты пикаешь всех юнитов вокруг позиции кастера.
В т.ч. кастера.
Он же не враг сам себе)
так что выполнится оба действия могут)
и если там дамми есть - в ту же пачку, могут вызвать срабатывание.
Я фильтрую дамми по левелу, лвл дамми ставлю 0.
я так и не понял почему ты не можешь просто сделать как улучшение что не так с улучшением как в обычном случае.
дело в описании, вот и не могу так сделать,если сделать через улучшение здания, то при наведении на иконку вплывает подсказка, та же подсказка что будет и у самого здания в списке построек у светлячка, тоесть если делать через улучшение (по идее этот же юнит должен быть и в списке построек (а он там есть) ту подсказку которую я хочу будет лишней. вот пример: Древо жизни превращается в древо мира, при этом все союзные юниты вблизи древа получают повышеную регенерацию здоровья. (а теперь представь что эта подсказка будет в списке построек у светлячка, вообще не то)
Решил проблему путем выбора древа когда истекает однократный таймер, также подумал и решил что наверно лучше делать через способности, а не исследования. Но у меня остался один вопрос, если этот тригер отвечающий за применения этих способностей будет использовать несколько игроков, я не знаю будет ли использоватся оно коректно или нет, также и с отдельным триггером Таймер. Вот что вышло в данный момент:
function PolarProjectionX takes real x, real dist, real angle returns real
return x + dist * Cos(angle * bj_DEGTORAD)
endfunction
function PolarProjectionY takes real y, real dist, real angle returns real
return y + dist * Sin(angle * bj_DEGTORAD)
endfunction
function Trig_Hit_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local real face = GetUnitFacing(caster)
local real x = PolarProjectionX(GetUnitX(caster), 100., face)
local real y = PolarProjectionY(GetUnitY(caster), 100., face)
local group targets = CreateGroup()
local unit target
call GroupEnumUnitsInRange(targets, x, y, 100., null)
set target = FindClosestToXY(targets, x, y)
if target != null then
call UnitDamageTargetBJ(caster, target, 100., ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
set target = null
endif
set caster = null
call DestroyGroup(targets)
set targets = null
endfunction
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Чтобы отследить созданного клона делается глобальный триггер с событием - Юнит вызывает еще 1 юнита, условие - юнит иллюзия, действие записать в bj_LastCreatedUnit == GetSummonedUnit(), после приказываем даммику кастануть жезл иллюзий в цель, сразу после приказа - берем bj_lastCreatedUnit - это наша иллюзия, записываем её в локалку или если действия мгновенные и не вызывают других триггеров юзающих эту глобалку то делаем с клоном все что нужно...
Т.к фрог юзает триггеры, он делает так, создает триггер, к нему вешает действие где в глобалку записывают GetSummonedUnit(), ну а после удаляет это действие у триггера, берет клона из глобалки, добавлает этому же триггеру другое действие и ставит событие на переодик 0.02 сек, чтобы двигать дамми снаряд, кароч юзает 1 триггер и для поиска клона и для движения дамми и для всего остального.
вампиризмы работают лишь на основную атаку, не затрагивая модификаторы.
не думаю, москиты не дружат с всякими проверками - подошел ли юнит к юниту или нет, просто давай неуяз, да и вовсе нафига тогда рабочие с ратушой? Так золото слабо дать или заставить даммиков проигрывать анимацию таскания мешков работникам.
Еще раз, все модификаторы уроны, промахи, хреномахи рассчитываются в момент замаха, до успешного завершения атаки. Потом уже неважно, можно удалить юнита и снаряд достигнет цели (ну если ничего не помешает вроде промаха) и нанесет урон.
Меняется - можно поставить свой бафф, что сделан на основе оригинальный. Естественно, нельзя сделать так, чтобы отравленные стрелы станили.
Стан только у баша.
rsfghd, Ну так у меня и так 1.26а, закинул в папку с игрой коннектор, и game.dll, сайт коннектор видит, сам коннектор меня подключает, но игры не появляются.
А много ли юнитов будут с хп баром? если серьёзно то решения нет и фрейм не найти этот, оно зашито в недра движка. Но опять таки Disable pre-selection вариант всё таки, если потом отрисовать кастомные хп бары через специальную модель, если она будет эффектом, то это не вызовет никакой доп нагрузки даже у 100 юнитов.
Ниче не понял. Потом опять не понял.
В общем есть модель юнита, а есть модель снаряда. Это 2 разные модели. Они никак не связаны. То, что пропадает "снаряд" в модели юнита при броске( например топора) - это анимация атаки модели юнита. Если не нужно, чтобы топор не пропадал при броске - редактируй модель юнита в визе
если тебе звук нужен только для обладателя героя, то ты используешь вместо current camera view
position of hero[GetPlayerId(GetLocalPlayer())]
где hero - массив героев, индекс это номер игрока начиная с нуля
то есть hero[0] красный геро, hero[1] синий и т.д.
тогда это вернет позицию локального героя, а если герой не существует то центр карты
» WarCraft 3 / иконки в рефорже
» WarCraft 3 / Путь способности
» WarCraft 3 / альфа каналы
» WarCraft 3 / Новая способность
» WarCraft 3 / Невидимость
» WarCraft 3 / Рабочие и здания
» WarCraft 3 / Хэш-таблицы в vJass
» WarCraft 3 / Работа с массивами в cJass
» WarCraft 3 / Создание ИИ
» WarCraft 3 / Идеи для карты
» WarCraft 3 / Как триггером отловить иллюзию?
» WarCraft 3 / интересные карты
» WarCraft 3 / loop (цикл) + wait?
» WarCraft 3 / Проблемы с редактором
» WarCraft 3 / Проблема с позиционным звуком
» WarCraft 3 / Утечки в коде
» WarCraft 3 / Отступы в коде
» WarCraft 3 / Видимость юнита
» WarCraft 3 / Не работает простой триггер
» WarCraft 3 / Баг с порталами
» WarCraft 3 / Вопрос по снаряду
» IrInA Host Bot / проблема с коннектором
» WarCraft 3 / Неуязвимое здание с отображением хп
» WarCraft 3 / Вращение юнита
» WarCraft 3 / Функция GetLocalPlayer()